package com.example.administrator.mygreendaotest;

import android.app.Application;
import android.database.sqlite.SQLiteDatabase;

import test.greenDAO.dao.DaoMaster;
import test.greenDAO.dao.DaoSession;
import test.greenDAO.dao.EntityDao;

/**
 * 文 件 名: MyApp
 * 创 建 人: banbury
 * 创建日期: 2017/1/14 0014 17:45
 * 邮   箱:
 * 博   客:
 * 修改时间：
 * 修改备注：
 */

public class MyApp extends Application {

    private DaoSession daoSession;
    private SQLiteDatabase db;

    @Override
    public void onCreate() {
        super.onCreate();
        setupDatabase();
    }

    private void setupDatabase() {

        //通过DaoMaster的内部类DevOpenHelper，你可以得到一个便利的SQLiteOpenHelper对象。//可能你已经注意到了，你并不需要去编写「CREATE TABLE」这样的SQL语句，因为greenDAO已经帮你做了。//注意：默认的DaoMaster.DevOpenHelper会在数据库升级时，删除所有的表，意味着这将导致数据的丢失。//所以，在正式的项目中，你还应该做一层封装，来实现数据库的安全升级。

        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "my.db", null);

        db = helper.getWritableDatabase();

        //注意：该数据库连接属于DaoMaster，所以多个Session指的是相同的数据库连接。

        DaoMaster daoMaster = new DaoMaster(db);

        //代理类
        daoSession = daoMaster.newSession();
        //获得对应实体类的dao对象
        EntityDao entityDao = daoSession.getEntityDao();


    }

    public DaoSession getDaoSession() {

        return daoSession;

    }

    public SQLiteDatabase getDb() {

        return db;

    }


}
